﻿#ifndef CONTACT_PERSON_MODIFY_DIALOG_H
#define CONTACT_PERSON_MODIFY_DIALOG_H

#include <QDebug>
#include <QDialog>
#include <QLineEdit>
#include <QGroupBox>
#include <QPushButton>
#include <QMessageBox>
#include <QRegExpValidator>

#include "contact_person.h"

namespace Ui {
class ContactPersonModifyDialog;
}

class ContactPersonModifyDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ContactPersonModifyDialog(QWidget *parent = nullptr, ContactPerson *person = nullptr);
    ~ContactPersonModifyDialog();

signals:
    // 联系人输入框填写完成后触发的信号
    void inputComplete();

public slots:
    // 获取当前输入框的联系人
    ContactPerson *getContactPerson();

private:
    Ui::ContactPersonModifyDialog *ui;

    ContactPerson *person;

    QLineEdit *age_edit;        // 性别编辑框
    QLineEdit *name_edit;       // 年龄编辑框
    QLineEdit *phone_edit;      // 手机编辑框
    QLineEdit *address_edit;    // 地址编辑框
    QGroupBox *sex_group_box;   // 性别组

    QPushButton *modify_button; // 修改按钮
    QPushButton *cancel_button; // 取消按钮

private:
    // 组件UI初始化
    void initUi();

    // 组件数据初始化
    void initData();

    // 组件UI数据初始化
    void initUiData();

    // 组件事件连接初始化
    void initConnect();

    // 判断完全输入了对应的数据
    bool judgeInputIsFull();

    // 获取输入框的信息
    ContactPerson *getInputInfo();

};

#endif // CONTACT_PERSON_MODIFY_DIALOG_H
